#define _CRT_SECURE_NO_WARNINGS

//#include<stdio.h>
//int main()
//{
//	int n, m;
//	int a[100][100], b[100][100];
//	double count = 0;
//	scanf("%d %d", &n, &m);
//	for (int i = 0; i < n; i++)
//	{
//		for (int j = 0; j < m; j++)
//		{
//			scanf("%d", &a[i][j]);
//		}
//	}
//	for (int i = 0; i < n; i++)
//	{
//		for (int j = 0; j < m; j++)
//		{
//			scanf("%d", &b[i][j]);
//		}
//	}
//	for (int i = 0; i < n; i++)
//	{
//		for (int j = 0; j < m; j++)
//		{
//			if (a[i][j] == b[i][j])
//			{
//				count++;
//			}
//		}
//	}
//	printf("%.2lf", (count / (m * n))*100);
//	return 0;
//}

//#include<stdio.h>
//int main()
//{
//	long long int a[5][5];
//	long long int max, min;
//	int flag = 0;
//	for (int i = 0; i < 5; i++)
//	{
//		for (int j = 0; j < 5; j++)
//		{
//			scanf("%lld", &a[i][j]);
//		}
//	}
//	for (int i = 0; i < 5; i++)
//	{
//		max =-1;
//		for (int l = 0; l < 5; l++)
//		{
//			if (max < a[i][l])
//			{
//				max = a[i][l];
//			}
//		}
//		for (int j = 0; j < 5; j++)
//		{
//			if (max == a[i][j])
//			{
//				min = a[i][j];
//				for (int h = 0; h < 5; h++)
//				{
//					if (min > a[h][j])
//					{
//						min = a[h][j];
//					}
//				}
//				if (min == a[i][j])
//				{
//					printf("%d %d %lld\n", i+1, j+1, a[i][j]);
//					flag = 1;
//				}
//				else
//				{
//					break;
//				}
//			}
//		}
//	}
//	if (flag == 0)
//	{
//		printf("not found");
//	}
//	return 0;
//}

//#include<stdio.h>
//int main()
//{
//	int n;
//	scanf("%d", &n);
//	int a[100][100];
//	int flag = 0;
//	int sum1 = 0;
//	int sum2 = 0;
//	int j = 0;
//	int x = 0;
//	int y = 0;
//	int h = 0;
//	int count = 0;
//	int num = 0;
//	for (int i = 0; i < n; i++)
//	{
//		for (int j = 0; j < n; j++)
//		{
//			scanf("%d", &a[i][j]);
//		}
//	}
//	for (int i = 0; i < n; i++)
//	{
//		flag = 0;
//		sum1 = 0;
//		sum2 = 0;
//		for ( j = 0; j < n; j++)
//		{
//			sum1 += a[i][j];
//		}
//		if (sum1 % 2 != 0)
//		{
//			y = i;
//			count++;
//		}
//		for (h = 0; h< n; h++)
//		{
//			sum2 += a[h][i];
//		}
//		if (sum2 % 2 != 0)
//		{
//			x = i;
//			num++;
//		}
//		if (sum1 % 2 == 0&&sum2%2==0)
//		{
//			flag = 1;
//		}
//	}
//	if (flag == 1&&count==0)
//	{
//		printf("OK");
//	}
//	else if (count==1&&num==1)
//	{
//		printf("%d %d", y+1, x+1);
//	}
//	else
//	{
//		printf("Corrupt");
//	}
//	return 0;
//}

//#include<stdio.h>
//int main()
//{
//	int n;
//	int x, y;
//	int a;
//	int b;
//	scanf("%d %d %d", &n,&x,&y);
//	a = x + y;
//	b = x - y;
//	for (int i = 1; i <= n; i++)
//	{
//		printf("(%d,%d) ", x, i);
//	}
//	printf("\n");
//	for (int i = 1; i <= n; i++)
//	{
//		printf("(%d,%d) ", i, y);
//	}
//	printf("\n");
//	for (int i = 1; i <= n; i++)
//	{
//		if (i-b <= n&&i-b>0)
//		{
//			printf("(%d,%d) ", i,i-b);
//		}
//	}
//	printf("\n");
//	for (int i = 1; i <= n; i++)
//	{
//		if (a - i > 0&&a-i<=n)
//		{
//			printf("(%d,%d) ",i,a-i);
//		}
//	}
//	return 0;
//}

//#include<stdio.h>
//int main()
//{
//	int x[10][10], y[10][10];
//	int a[10][10], b[10][10], c[10][10];
//	int n;
//	scanf("%d", &n);
//	int temp = 0;
//	int h = n - (n + 1) / 2;
//	for (int i = 0; i < n; i++)
//	{
//		for (int j = 0; j < n; j++)
//		{
//			scanf("%d", &x[i][j]);
//		}
//	}
//	for (int i = 0; i < n; i++)
//	{
//		for (int j = 0; j < n; j++)
//		{
//			scanf("%d", &y[i][j]);
//		}
//	}
//	for (int i = 0; i < n; i++)
//	{
//		for (int j = 0; j < n; j++)
//		{
//			a[i][j] = x[n-1-j][i];
//		}
//	}
//	for (int i = 0; i < n; i++)
//	{
//		for (int j = 0; j < n; j++)
//		{
//			b[i][j] = x[j][n-1-i];
//		}
//	}
//	for (int i = 0; i < n; i++)
//	{
//		for (int j = 0; j < n; j++)
//		{
//			c[i][j] = a[i][j];
//		}
//	}
//	for (int i = 0; i < n; i++)
//	{
//		for (int j =n-(n+1)/2; j < n; j++)
//		{
//			if (j - 1 >= 0 && j + 1 < n)
//			{
//				temp = c[j + 1][h];
//				c[j + 1][h] = c[j - 1][h];
//				c[j - 1][h] = temp;
//			}
//		}
//	}
//	for (int i = 0; i < n; i++)
//	{
//		for (int j = n - (n + 1) / 2; j < n; j++)
//		{
//			if (j - 1 >= 0 && j + 1 < n)
//			{
//				temp = c[h][j+1];
//				c[h][j+1] = c[h][j-1];
//				c[h][j-1] = temp;
//			}
//		}
//	}
//	for (int i = 0; i < n; i++)
//	{
//		for (int j = n - (n + 1) / 2 ; j < n; j++)
//		{
//			if (n - (n + 1) / 2 - 1 >= 0 && n - (n + 1) / 2 + 1 < n)
//			{
//				temp = a[n - (n + 1) / 2 - 1];
//				c[n - (n + 1) / 2 - 1][n - (n + 1) / 2 - 1] = c[n - (n + 1) / 2 + 1][n - (n + 1) / 2 + 1];
//				c[n - (n + 1) / 2 + 1][n - (n + 1) / 2 + 1] = temp;
//			}
//		}
//	}
//	for (int i = 0; i < n; i++)
//	{
//		for (int j = 0; j < n; j++)
//		{
//			if (n - (n + 1) / 2 - 1 >= 0 && n - (n + 1) / 2 + 1 < n)
//			{
//				temp = a[n - (n + 1) / 2 - 1][n - (n + 1) / 2 +1];
//				c[n - (n + 1) / 2 - 1][n - (n + 1) / 2 - 1] = c[n - (n + 1) / 2 + 1][n - (n + 1) / 2 + 1];
//				c[n - (n + 1) / 2 + 1][n - (n + 1) / 2 + 1] = temp;
//			}
//		}
//	}
//
//
//
//
//
//	return 0;
//}

//#include<stdio.h>
//int main()
//{
//	int n;
//	unsigned int a[30][30] = { 0 };
//	int b[30];
//	char ch = 'a';
//	scanf("%d", &n);
//	int max = 0;
//	int j = 0;
//	int count = 0;
//	getchar();
//	for (int i = 0; i < n; i++)
//	{
//		j = 0;
//		ch = 'a';
//		while (ch != '\n')
//		{
//			scanf("%zd%c", &a[i][j], &ch);
//			if (max < a[i][j])
//			{
//				max = a[i][j];
//			}
//			j++;
//		}
//	}
//	printf("%d\n", max);
//	for (int i = 0; i <n; i++)
//	{
//		for (int j = 0; j <30; j++)
//		{
//			if (a[i][j] == max && count == 1)
//			{
//				printf(",");
//				printf("%d", i+1);
//			}
//			if (a[i][j] == max && count == 0)
//			{
//				printf("%d", i + 1);
//				count++;
//			}
//		}
//	}
//	return 0;
//}

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main()
{
    char str[1010] = { 0 };
    int array[301] = { 0 };
    int length;
    char ch = 0;
    int i = 0;
    while (ch != '\n')
    {
        scanf("%s%c", str, &ch);
        length = strlen(str);
        array[i] = length;
        i++;
    }
    for (int j = 0; j < i; j++)
    {
        printf("%d ", array[j]);
    }
    return 0;
}

